iT邦幫忙

2024 iThome 鐵人賽

DAY 7
0
Software Development

Event driven architecture的奧妙系列 第 7

Day 7 - Synchronous的機制 (2)

  • 分享至 

  • xImage
  •  

前言

前一篇我們講了Synchronous的概念,簡單用銀行開戶的例子說明它的運作流程。

今天會用同一個例子細講syn的運作流程及其問題點所在。

好的~讓我們開始吧!!

Synchronous流程探討

假如你要去銀行開戶,將要辦理的相關文件交給櫃台,從填寫申請表→完成申請開戶的流程如下圖:

https://ithelp.ithome.com.tw/upload/images/20240921/20169096pPYdC2z7uZ.jpg

  1. 填寫申請表:你會拿開戶申請表並填寫,寫完之後會去排隊
  2. 提交申請表: 當輪到你的時候,提交開戶申請表給櫃檯,並等待櫃檯檢查資料是否無誤
  3. 提交相關資料: 等櫃檯檢查完畢,她會請你提交相關文件像是身分證件、財產證明等,提交完後繼續等待櫃檯審核你的資料
  4. 審核結果:在櫃檯完成審核前,你要在櫃檯面前等待,直到對方告知你開戶成功或者是失敗。

從填寫申請表開始直到審核結果出來,每一項都需要等待前一項完成才能做下一件事情,其中有一項失敗像是申請表內容不符格式,就得回去重寫再回來"排隊",這樣非常浪費資源跟時間在等待

而這只是做一件事情,如果你今天想要在銀行做兩件事情:

  • 開戶
  • 從另一個帳戶提款

用Synchronous的方式做會如何呢?

https://ithelp.ithome.com.tw/upload/images/20240921/20169096nHPocT8LwD.jpg

單純提款就要等開戶手續完成,而前面這些步驟光等待就浪費你一整天的時間。
你能想像你白天進銀行,等要提款的時候天已經黑了!? 這實在太沒效率!
當然你可以先去提款,接著辦理開戶,還是沒有解決等待時間太久的問題。

如果第二件事情不是提款,而是跟開戶一樣手續繁瑣的事情怎麼辦?
如果不只兩件事情要處理怎麼辦?

這些問題最後會造成浪費時間和資源,甚至讓使用者也跟著等待,對服務的觀感就會降低!

Synchronous的限制

根據剛剛的兩個例子,我們總結下Syn的幾個限制:

  1. 等待時間長:你必須在櫃檯前等待,這對於時間緊迫或是很多事情要處理的客戶來說非常不便。
  2. 資源浪費:櫃檯人員在處理你的開戶手續時無法處理其他客戶,造成資源的低效利用。
  3. 使用者體驗差:長時間的等待可能會讓客戶不滿,影響銀行的形象。
  4. 無法處理高峰期:在巔峰時段,許多客戶同時來辦理業務,會導致更長的等待時間和擁擠的情況。

總結

不合適的場景使用Synchronous使整個過程變得緩慢而且效果很差,同時影響了客戶的體驗和銀行的運作效率。相比之下,這種時候可以採取Asynchronous的方式,讓客戶在提交開戶申請後不必在櫃檯前面等待,可以去處理其他事情,而銀行也可以在後台處理手續,提高效率和客戶的觀感。

本篇用兩個例子說明了"不合適的場景使用Synchronous"造成的問題,當然不是說Synchronous不好,它本身很好,只是要用在適合的地方上。
下一篇開始是Asynchronous的篇章,說明Asy的運作機制、流程與優點所在。

好了~~今天就說到這邊!!


上一篇
Day 6 - Synchronous的機制 (1)
下一篇
Day 8 - Asynchronous的機制 (1)
系列文
Event driven architecture的奧妙30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言